U ovom zadatku učimo funkcije za rad sa nizovima: in_array, array_search, array_keys, array_rand, sort, asort, ksort i array_pop.
Funkcija in_array() služi za provjeru prisutnosti određene vrijednosti u nizu. Funkcija vraća TRUE (istina) ako se tražena vrijednost nalazi u nizu ili FALSE (neistina) ako se ne nalazi.
$niz_ucenice = array("Ana", "Mia", "Ema", "Eva", "Tea", "Lea");
$provjera = in_array("Mia", $niz_ucenice);
echo $provjera;
var_dump($provjera);
Niz učenica:
Array
(
[0] => Ana
[1] => Mia
[2] => Ema
[3] => Eva
[4] => Tea
[5] => Lea
)
Nalazi li se 'Mia' u nizu?
Rezultat s echo: DA
Rezultat s var_dump:
bool(true)
Funkcija array_search() pretražuje niz u potrazi za određenom vrijednošću i vraća ključ (indeks) ako je vrijednost uspješno pronađena. Ako vrijednost nije pronađena, funkcija vraća FALSE.
$indeks = array_search("Eva", $niz_ucenice);
$ime = $niz_ucenice[$indeks];
echo $indeks;
echo $ime;
Indeks imena 'Eva': 3
Ime na tom indeksu: Eva
Funkcija array_keys() vraća sve ključeve unutar zadanog niza kao novi numerički niz. Ova funkcija se koristi kod asocijativnih nizova za dobivanje svih imena ključeva, što omogućava lakši pristup i obradu podataka.
$niz_glavni_gradovi = array(
"Hrvatska" => "Zagreb",
"Engleska" => "London",
"Njemačka" => "Berlin",
"Francuska" => "Pariz",
"Island" => "Reykjavik"
);
$kljucevi = array_keys($niz_glavni_gradovi);
print_r($kljucevi);
Asocijativni niz glavnih gradova:
Array
(
[Hrvatska] => Zagreb
[Engleska] => London
[Njemačka] => Berlin
[Francuska] => Pariz
[Island] => Reykjavik
)
Svi ključevi:
Array
(
[0] => Hrvatska
[1] => Engleska
[2] => Njemačka
[3] => Francuska
[4] => Island
)
Prvi ključ: Hrvatska
Zadnji ključ: Island
Funkcija array_rand() vraća slučajni ključ iz niza, odnosno poziciju na kojoj se nalazi slučajno odabrana vrijednost. Ova funkcija je korisna kada trebamo nasumično izabrati jedan ili više elemenata iz niza.
$slucajni_indeks = array_rand($niz_ucenice); $slucajna_ucenica = $niz_ucenice[$slucajni_indeks]; echo $slucajni_indeks; echo $slucajna_ucenica;
Slučajni indeks: 4
Učenica na tom indeksu: Tea
Osvježi stranicu za novi slučajni odabir!
Funkcije za sortiranje nizova organiziraju elemente prema određenom redoslijedu. Funkcija sort() sortira niz po vrijednostima i resetira originalne ključeve, stvarajući novi numerički niz s ključevima 0, 1, 2... Funkcija asort() sortira niz po vrijednostima, ali zadržava originalne ključeve povezane s njihovim vrijednostima. Funkcija ksort() sortira asocijativni niz po ključevima, održavajući veze između ključeva i vrijednosti.
// sort() $niz_sort = $niz_ucenice; sort($niz_sort); // asort() $niz_asort = $niz_ucenice; asort($niz_asort); // ksort() $niz_ksort = $niz_glavni_gradovi; ksort($niz_ksort);
Originalni niz učenica:
Array
(
[0] => Ana
[1] => Mia
[2] => Ema
[3] => Eva
[4] => Tea
[5] => Lea
)
Nakon sort() (resetira ključeve):
Array
(
[0] => Ana
[1] => Ema
[2] => Eva
[3] => Lea
[4] => Mia
[5] => Tea
)
Nakon asort() (zadržava ključeve):
Array
(
[0] => Ana
[2] => Ema
[3] => Eva
[5] => Lea
[1] => Mia
[4] => Tea
)
Razlika: funkcija sort() sortira vrijednosti i automatski dodjeljuje nove numeričke ključeve (0, 1, 2...), dok funkcija asort() također sortira vrijednosti abecednim redom, ali pritom zadržava originalne ključeve povezane s njihovim vrijednostima.
Originalni niz gradova:
Array
(
[Hrvatska] => Zagreb
[Engleska] => London
[Njemačka] => Berlin
[Francuska] => Pariz
[Island] => Reykjavik
)
Nakon ksort() (sortiranje po ključu):
Array
(
[Engleska] => London
[Francuska] => Pariz
[Hrvatska] => Zagreb
[Island] => Reykjavik
[Njemačka] => Berlin
)
Funkcija array_pop() koristi se za uklanjanje i vraćanje posljednjeg elementa iz niza. Nakon izvršavanja ove funkcije, niz se trajno mijenja i postaje kraći za jedan element, a uklonjena vrijednost se može pohraniti u varijablu.
$niz_za_pop = $niz_ucenice; $uklonjeni = array_pop($niz_za_pop); print_r($uklonjeni); print_r($niz_za_pop);
Originalni niz učenica:
Array
(
[0] => Ana
[1] => Mia
[2] => Ema
[3] => Eva
[4] => Tea
[5] => Lea
)
Uklonjeni član: Lea
Niz nakon uklanjanja:
Array
(
[0] => Ana
[1] => Mia
[2] => Ema
[3] => Eva
[4] => Tea
)